package com.wyzz.hr.pojo.base;

import java.io.Serializable;
import java.util.Date;

import com.wyzz.hr.pojo.Department;
import com.wyzz.hr.pojo.Employee;
import com.wyzz.hr.pojo.Location;
import com.wyzz.hr.pojo.Trcourseplan;
import com.wyzz.hr.pojo.Tremployeeplan;

public abstract class BaseTremployeeplan implements Serializable {

	public BaseTremployeeplan() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseTremployeeplan(String trpId) {
		hashCode = 0x80000000;
		setTrpId(trpId);
		initialize();
	}

	public BaseTremployeeplan(String trpId, Integer trpNo,
			Department trpTraineeDept, Location trpTraineeLocation,
			Employee trpCreateBy, Employee trpTraineeNo, Trcourseplan trpTrcp,
			Employee trpLastChangeBy, Integer trpStatus, Date trpCreateTime,
			Date trpLastChangeTime, String trpNextApprover,
			String trpSecurityNo, String trpScore, String trpMemo) {
		hashCode = 0x80000000;
		setTrpId(trpId);
		setTrpNo(trpNo);
		setTrpTraineeDept(trpTraineeDept);
		setTrpTraineeLocation(trpTraineeLocation);
		setTrpCreateBy(trpCreateBy);
		setTrpTraineeNo(trpTraineeNo);
		setTrpTrcp(trpTrcp);
		setTrpLastChangeBy(trpLastChangeBy);
		setTrpStatus(trpStatus);
		setTrpCreateTime(trpCreateTime);
		setTrpLastChangeTime(trpLastChangeTime);
		setTrpNextApprover(trpNextApprover);
		setTrpSecurityNo(trpSecurityNo);
		setTrpScore(trpScore);
		setTrpMemo(trpMemo);
		initialize();
	}

	protected void initialize() {
	}

	public String getTrpId() {
		return trpId;
	}

	public void setTrpId(String trpId) {
		this.trpId = trpId;
		hashCode = 0x80000000;
	}

	public Integer getTrpNo() {
		return trpNo;
	}

	public void setTrpNo(Integer trpNo) {
		this.trpNo = trpNo;
	}

	public Integer getTrpStatus() {
		return trpStatus;
	}

	public void setTrpStatus(Integer trpStatus) {
		this.trpStatus = trpStatus;
	}

	public String getTrpComments() {
		return trpComments;
	}

	public void setTrpComments(String trpComments) {
		this.trpComments = trpComments;
	}

	public String getTrpFileName() {
		return trpFileName;
	}

	public void setTrpFileName(String trpFileName) {
		this.trpFileName = trpFileName;
	}

	public Date getTrpCreateTime() {
		return trpCreateTime;
	}

	public void setTrpCreateTime(Date trpCreateTime) {
		this.trpCreateTime = trpCreateTime;
	}

	public Date getTrpLastChangeTime() {
		return trpLastChangeTime;
	}

	public void setTrpLastChangeTime(Date trpLastChangeTime) {
		this.trpLastChangeTime = trpLastChangeTime;
	}

	public Department getTrpTraineeDept() {
		return trpTraineeDept;
	}

	public void setTrpTraineeDept(Department trpTraineeDept) {
		this.trpTraineeDept = trpTraineeDept;
	}

	public Location getTrpTraineeLocation() {
		return trpTraineeLocation;
	}

	public void setTrpTraineeLocation(Location trpTraineeLocation) {
		this.trpTraineeLocation = trpTraineeLocation;
	}

	public Employee getTrpCreateBy() {
		return trpCreateBy;
	}

	public void setTrpCreateBy(Employee trpCreateBy) {
		this.trpCreateBy = trpCreateBy;
	}

	public Employee getTrpTraineeNo() {
		return trpTraineeNo;
	}

	public void setTrpTraineeNo(Employee trpTraineeNo) {
		this.trpTraineeNo = trpTraineeNo;
	}

	public Trcourseplan getTrpTrcp() {
		return trpTrcp;
	}

	public void setTrpTrcp(Trcourseplan trpTrcp) {
		this.trpTrcp = trpTrcp;
	}

	public Employee getTrpLastChangeBy() {
		return trpLastChangeBy;
	}

	public void setTrpLastChangeBy(Employee trpLastChangeBy) {
		this.trpLastChangeBy = trpLastChangeBy;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof Tremployeeplan))
			return false;
		Tremployeeplan tremployeeplan = (Tremployeeplan) obj;
		if (null == getTrpId() || null == tremployeeplan.getTrpId())
			return false;
		else
			return getTrpId().equals(tremployeeplan.getTrpId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getTrpId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getTrpId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public String getTrpNextApprover() {
		return trpNextApprover;
	}

	public void setTrpNextApprover(String trpNextApprover) {
		this.trpNextApprover = trpNextApprover;
	}

	public String getTrpSecurityNo() {
		return trpSecurityNo;
	}

	public void setTrpSecurityNo(String trpSecurityNo) {
		this.trpSecurityNo = trpSecurityNo;
	}

	public String getTrpScore() {
		return trpScore;
	}

	public void setTrpScore(String trpScore) {
		this.trpScore = trpScore;
	}

	public String getTrpMemo() {
		return trpMemo;
	}

	public void setTrpMemo(String trpMemo) {
		this.trpMemo = trpMemo;
	}

	public static String REF = "Tremployeeplan";
	public static String PROP_TRP_FILE_NAME = "trpFileName";
	public static String PROP_TRP_CREATE_TIME = "trpCreateTime";
	public static String PROP_TRP_ID = "trpId";
	public static String PROP_TRP_NO = "trpNo";
	public static String PROP_TRP_TRAINEE_NO = "trpTraineeNo";
	public static String PROP_TRP_COMMENTS = "trpComments";
	public static String PROP_TRP_LAST_CHANGE_BY = "trpLastChangeBy";
	public static String PROP_TRP_TRAINEE_DEPT = "trpTraineeDept";
	public static String PROP_TRP_TRAINEE_LOCATION = "trpTraineeLocation";
	public static String PROP_TRP_CREATE_BY = "trpCreateBy";
	public static String PROP_TRP_LAST_CHANGE_TIME = "trpLastChangeTime";
	public static String PROP_TRP_STATUS = "trpStatus";
	public static String PROP_TRP_TRCP = "trpTrcp";
	public static String PROP_TRP_NEXT_APPROVER = "trpNextApprover";
	public static String PROP_TRP_SECURITY_NO = "trpSecurityNo";
	public static String PROP_TRP_SCORE = "trpScore";
	private int hashCode;
	private String trpId;
	private Integer trpNo;
	private Integer trpStatus;
	private String trpComments;
	private String trpFileName;
	private Date trpCreateTime;
	private Date trpLastChangeTime;
	private String trpNextApprover;
	private String trpSecurityNo;
	private String trpScore;
	private String trpMemo;
	private Department trpTraineeDept;
	private Location trpTraineeLocation;
	private Employee trpCreateBy;
	private Employee trpTraineeNo;
	private Trcourseplan trpTrcp;
	private Employee trpLastChangeBy;

}
